import { InitModalMethod, ParseModalMethod } from './defination';

/**
 * 设置表单属性
 * @param { Object } form 表单数据
 * @param { Object } workstep cached的ai工作流
 */
export const initModalData = (form = {}, workstep = {}) => {
	if (!form || !workstep || !workstep.answer) {
		return;
	}

	form.judgeOptions = [];

	form.waitTime = workstep.timeout; // 1
	// options 2 3 4 5
	workstep.answer.map(item => {
		if (item.type.includes('option')) {
			let option = {
				option: item.key.join(','),
				nextStepOption: item.do?.id
			};

			form.judgeOptions.push(option);
		}
	});

	// other
	form.nextStepOther = workstep.errorRemind?.do?.id;

	form.name = workstep.name;
};
InitModalMethod['optionJudge'] = initModalData;

/**
 * 解析表单属性
 * @param { Object } form 表单数据
 * @param { Object } workstep cached的ai工作流
 */
export const parseModalData = (form = {}, workstep = {}) => {
	console.log(form, workstep);
	if (!form || !workstep || !workstep.do || !workstep.answer) {
		return;
	}

	workstep.timeout = form.waitTime; // 1
	workstep.answer = [];
	if (form.judgeOptions) {
		let index = 0;
		form.judgeOptions.map(item => {
			let option = {
				do: {
					command: 'jump-to',
					id: item.nextStepOption,
					no: item.nextStepOption
				},
				key: [],
				type: ''
			};
			index++;
			option.key = [`${item.option}`];
			option.type = `option${index}`;
			workstep.answer.push(option);
		});
	}
	const timeout = {
		key: ['timeout'],
		do: {
			id: form.nextStepOther,
			no: form.nextStepOther
		},
		type: 'timeout'
	};
	workstep.answer.push(timeout);

	// other
	workstep.errorRemind.do.id = form.nextStepOther;

	workstep.name = form.name;
};
ParseModalMethod['optionJudge'] = parseModalData;
// {
//     "robotProperty": {
//         "needHearing": "preorder",
//         "videoType": "preorder",
//         "audioType": "preorder"
//     },
//     "name": "",
//     "do": {
//         "data": {
//             "data": {
//                 "cmd": "option-judgment"
//             },
//             "type": "peer-cmd"
//         },
//         "command": "send-message",
//         "after": {
//             "command": "receive-message"
//         }
//     },
//     "id": "optionJudge_60",
//     "no": "optionJudge_60",
//     "type": "optionJudgment",
//     "timeout": 1,
//     "answer": [
//         {
//             "do": {
//                 "command": "jump-to",
//                 "id": "BlankNode_61",
//                 "no": "BlankNode_61"
//             },
//             "key": [
//                 "2"
//             ],
//             "type": "option1"
//         },
//         {
//             "do": {
//                 "command": "jump-to",
//                 "id": "BlankNode_62",
//                 "no": "BlankNode_62"
//             },
//             "key": [
//                 "3"
//             ],
//             "type": "option2"
//         },
//         {
//             "do": {
//                 "command": "jump-to",
//                 "id": "BlankNode_63",
//                 "no": "BlankNode_63"
//             },
//             "key": [
//                 "4"
//             ],
//             "type": "option3"
//         },
//         {
//             "do": {
//                 "command": "jump-to",
//                 "id": "BlankNode_64",
//                 "no": "BlankNode_64"
//             },
//             "key": [
//                 "5"
//             ],
//             "type": "option4"
//         },
//         {
//             "key": [
//                 "timeout"
//             ],
//             "do": {
//                 "id": "BlankNode_65",
//                 "no": "BlankNode_65"
//             },
//             "type": "timeout"
//         }
//     ],
//     "errorRemind": {
//         "do": {
//             "command": "jump-to",
//             "id": "BlankNode_65",
//             "no": "BlankNode_65"
//         },
//         "type": "others",
//         "maximum": 0
//     },
//     "completed": true,
//     "hasStartNode": false
// }
